![]() System und Verfahren zum Bestimmen eines Signalnamens auf höchster Ebene in einem hierarchischen VLS
专利摘要:
Systeme,Verfahren und Softwareprodukte bestimmen einen Signalnamen höchster Ebenein einem hierarchischen Schaltungsentwurf. Ein Signalweg wird ineiner hierarchisch niedrigeren Ebene des Schaltungsentwurfs verfolgt,von einem vorbestimmten Netz in dem Schaltungsentwurf zu einer vorbestimmtenAnschlußinstanz,währendIndizes hinzugefügtwerden, zu einer Instanzhistorienliste, von jeder nachfolgendenInstanz, die angetroffen wird. Eine Torinstanz wird bei der Anschlußinstanzbestimmt, die einem ausgewähltenNetz zugeordnet ist, fürdas der Signalname höchsterEbene bestimmt werden soll. Das ausgewählte Netz wird als das aktuelleNetz bezeichnet. Füralle gespeicherten Hinweise in der Instanzhistorienliste wird dasNetz, das mit dem aktuellen Netz in einem hierarchischen Elternteilder Instanz verbunden ist, identifiziert durch die Hinweise, bestimmt,um ein nächstesaktuelles Netz einzurichten. Wenn eine Bedingung existiert, beider keine Verbindung von dem aktuellen Netz zu einer Instanz aufhierarchisch höhererEbene vorliegt, dann wird das aktuelle Netz als der Signalname höchster Ebenefür dasausgewählteNetz eingerichtet. 公开号:DE102004020869A1 申请号:DE102004020869 申请日:2004-04-28 公开日:2005-04-07 发明作者:S. Brandon Evans Keller;George Harold Fort Collins Robbert;Gregory Dennis Fort Collins Rogers 申请人:Hewlett Packard Development Co LP; IPC主号:G06F17-50
专利说明:
[0001] Dasvorliegende Dokument enthältMaterial, das sich auf das Material der mitanhängigen, gemeinsam eingereichtenU.S.-PatentanmeldungenAnwaltsaktenzeichen 100111221-1 mit dem Titel System And Method ForDetermining Wire Capacitance For A VLSI Circuit; Anwaltsaktenzeichen100111227-1 mit dem Titel System And Method For Determining ApplicableConfiguration Information For Use In Analysis Of A Computer AidedDesign; Anwaltsaktenzeichen 10011228-1 mit dem Titel Systems andMethods Utilizing Fast Analysis Information During Detailed AnalysisOf A Circuit Design; Anwaltsaktenzeichen 100111230-1 mit dem Titel SystemsAnd Methods For Determining Activity Factors Of A Circuit Design;Anwaltsaktenzeichen 100111233-1 mit dem Titel System And MethodFor Determining Connectivity Of Nets In A Hierarchical Circuit Design;Anwaltsaktenzeichen 100111234-1 mit dem Titel System And MethodAnalyzing Design Elements In Computer Aided Design Tools; Anwaltsaktenzeichen100111235-1 mit dem Titel System And Method For Determining UnmatchedDesign Elements In A Computer-Automated Design; Anwaltsaktenzeichen100111236-1 mit dem Titel Computer Aided Design Systems And MethodsWith Reduced Memory Utilization; Anwaltsaktenzeichen 100111238-1mit dem Titel System And Method For Iteratively Traversing A HierarchicalCircuit Design; Anwaltsaktenzeichen 100111257-1 mit dem Titel SystemsAnd Methods For Establishing Data Model Consistency Of ComputerAided Design Tools; Anwaltsaktenzeichen 100111259-1 mit dem TitelSystems And Methods For Identifying Data Sources Associated WithA Circuit Design; und Anwaltsaktenzeichen 100111260-1 mit dem TitelSystems And Methods For Performing Circuit Analysis On A CircuitDesign bezieht, wobei die Offenbarungen derselben hierdurch durchBezugnahme aufgenommen sind. [0002] Einelektronisches Tool füreinen computergestütztenEntwurf („E-CAD"; E-CAD = electroniccomputer-aided design) wird verwendet, um einen Schaltungsentwurfzu erzeugen, der einen VLSI-Schaltungsentwurf umfaßt (VLSI= Very Large Scale Integration = Höchstintegration). Der Schaltungsentwurfumfaßteine Netzliste, die eine Sammlung von Netzen definiert, die für den Schaltungsentwurfspezifisch sind. Jedes „Netz" ist ein einzelnerelektrischer Weg in einer Schaltung, die an allen ihren Punktendieselben elektrischen Charakteristika aufweist. Zum Beispiel isteine Sammlung von Drähten,die dasselbe Signal zwischen Komponenten trägt, ein Netz. Wenn die Komponentenermöglichen,daß dasSignal unverändertdurchläuft(wie in dem Fall eines Anschlusses), dann setzt sich das Netz aufnachfolgend angeschlossenen Drähtenfort. Wenn die Komponente das Signal jedoch modifiziert (wie indem Fall eines Transistors oder eines Logikgatters), dann endetdas Netz bei dieser Komponente und ein neues Netz beginnt auf deranderen Seite. Ein „Netzname" identifiziert einbestimmtes Netz innerhalb der Netzliste. Komponenten werden innerhalbdes Schaltungsentwurfs als „Entwurfselemente" identifiziert. [0003] Einewesentliche Charakteristik einer VLSI und anderer Schaltungsentwurfstypenist das Vertrauen auf die hierarchische Beschreibung. Ein primärer Grundfür dasVerwenden einer hierarchischen Beschreibung ist das Verdecken desgroßenDetailbetrags bei einem Entwurf. Durch Reduzieren der ablenkendenDetails auf ein einzelnes Objekt, das niedriger in der Hierarchieist, könnenviele E-CAD-Operationenbedeutend vereinfacht werden. Zum Beispiel können Simulation, Verifizierung,Entwurfsregelprüfungund Layouteinschränkungenalle von der hierarchischen Darstellung profitieren, die sie rechentechnischbesser bearbeitbar macht. Da viele Schaltungsentwürfe zu kompliziertsind, um einfach in ihrer Gesamtheit betrachtet zu werden, wirdein vollständigerEntwurf häufigals eine Sammlung von Entwurfselementaggregaten betrachtet, dieweiter auf rekursive und hierarchische Weise in Teilaggregate unterteiltwerden. Bei VLSI-Schaltungsentwürfenwerden diese Aggregate häufigals Entwurfs-Blöcke(oder -Zellen) bezeichnet. Die Verwendung eines Entwurfsblocks aufeiner gegebenen Ebene der Hierarchie wird eine „Instanz" genannt. Jeder Entwurfsblock weisteines oder mehrere „Tore" auf, wobei jedesderselben einen Verbindungspunkt zwischen einem Netz innerhalb desEntwurfsblocks und einem Netz außerhalb des Entwurfsblocksliefert. Ein Netz, das mit einem Tor in einem Entwurfsblock verbundenist, wird als ein „miteinem Tor versehenes" Netzbezeichnet. [0004] EinSignalname höchsterEbene („HLSN"; HLSN = HighestLevel Signal Name) ist der eindeutige Signalname, der eine Sammlungvon verbundenen Netzen oder „hierarchischenNetzstücken" identifiziert. Zum Beispielist ein hierarchisches Netzstückein mit einem Tor versehenes Netz in einem Entwurfsblock; das mit einemTor versehene Netz wird mit einem mit einem Tor versehenen Netzeines anderen Entwurfsblocks verbunden, um den HLSN zu bilden. DerHLSN leitet seine Identitätaus dem Namen des hierarchischen Netzstücks auf der höchsten hierarchischenEbene in dem Schaltungsentwurf her. [0005] Üblicherweisebestimmt währendeiner Analyse eines Schaltungsentwurfs ein E-CAD-Analyse-Tool bzw.-Werkzeug (z. B. ein Analyse-Tool, das einen Schaltungsentwurf analysiert,um Feldeffekttransistor-Leckströme(„FET"-Leckströme) zu schätzen) einenHLSN fürein bestimmtes Netz in dem Schaltungsentwurf. Konfigurationsbefehleund andere Parameter des Schaltungsentwurfs werden häufig unterVerwendung eines HLSN eines Netzes als Referenz spezifiziert. Esist daher wichtig, den HLSN fürein gegebenes Netz zu identifizieren, um zu bestimmen, ob ein bestimmterKonfigurationsbefehl auf das Netz anwendbar ist. Bei einem Beispielerreicht das E-CAD-Analyse-Toolwährendeiner Analyse des Schaltungsentwurfs einen Transistoranschluß (odereinen anderen Vorrich tungsanschluß) auf einer hierarchischenEbene des Schaltungsentwurfs. Der HLSN von einem oder mehreren Netzen,die mit anderen Anschlüssendes Transistors verbunden sind, wird benötigt, um entsprechende Konfigurationsbefehleanzuwenden. Ferner, bei der Fertigstellung der Analyse, werden dieAnalyseergebnisse häufigrelativ zu jedem HLSN in dem Schaltungsentwurf berichtet, da solcheInformationen häufignützlicherfür Entwurfstechnikersind als Informationen, die sich auf individuelle Netze des Schaltungsentwurfsbeziehen. [0006] BekannteE-CAD-Analyse-Tools erzeugen üblicherweiseeine „Abbildung", die jedes Netz(durch den identifizierenden Netznamen) mit seinem entsprechendenHLSN in Verbindung bringt. Wenn der Schaltungsentwurf Milliardenvon Komponenten aufweist, verbraucht dieser Abbildungsprozeß einenbeträchtlichenZeitbetrag und verbraucht einen beträchtlichen Speicherbetrag. Somitwird der Entwurfsprozeß verzögert und Computerressourcenwerden an die Abbildung übertragen,wodurch die Ressourcenverfügbarkeitfür andere Toolsbzw. Werkzeuge und Programme reduziert wird. [0007] Esist die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Bestimmeneines Signalnamens auf höchsterEbene in einem hierarchischen Schaltungsentwurf und ein System undein Verfahren zum Bestimmen eines Signalnamens auf höchster Ebenefür einausgewähltesNetz in einem hierarchischen Schaltungsentwurf und ein Softwareproduktmit Anweisungen mit verbesserten Charakteristika zu schaffen. [0008] DieseAufgabe wird durch ein Verfahren gemäß Anspruch 1, ein Verfahrengemäß Anspruch3 und 8, ein System gemäß Anspruch10 und 12 und ein Softwareprodukt gemäß Anspruch 14 gelöst. [0009] Beieinem Ausführungsbeispielbestimmt ein Verfahren einen Signalnamen höchster Ebene in einem hierarchischenSchaltungsentwurf. Ein Signalweg wird in eine hierarchisch niedrigereEbene des Schaltungsentwurfs von einem vorbestimmten Netz in demSchaltungsentwurf zu einer vorbestimmten Anschlußinstanz verfolgt, während Hinweisehinzugefügtwerden, zu einer Instanzhistorienliste, von jeder angetroffenennachfolgenden Instanz. Eine Torinstanz wird an der Anschlußinstanzbestimmt, die einem ausgewähltenNetz zugeordnet ist, fürdas der Signalname höchsterEbene bestimmt werden soll. Das ausgewählte Netz wird als das aktuelleNetz bezeichnet. Füralle gespeicherten Hinweise in der Instanzhistorienliste wird dasNetz, das mit dem aktuellen Netz in einem hierarchischen Elternteilder Instanz verbunden ist, identifiziert durch die Hinweise, bestimmt,um ein nächstesaktuelles Netz einzurichten. Wenn eine Bedingung existiert, beider keine Verbindung von dem aktuellen Netz zu einer Instanz aufhierarchisch höhererEbene vorliegt, wird das aktuelle Netz als der Signalname höchster Ebenefür dasausgewählteNetz eingerichtet. [0010] Beieinem anderen Ausführungsbeispielbestimmt ein Verfahren einen Signalnamen höchster Ebene (HLSN) für ein ausgewähltes Netzbei einem hierarchischen Schaltungsentwurf. Ein Signalweg wird voneinem Netz in einer Instanz bei dem Entwurf zu einer Anschlußinstanzauf einer hierarchisch niedrigen Ebene des Entwurfs verfolgt. Hinweisejeder Instanz, die angetroffen werden, werden in einer Instanzhistorienlistegespeichert. Die Schritte des Verfolgens und Speicherns werden wiederholt,bis ein vorbestimmter Spur-Endpunkt angetroffenwird. Eine ausgewählteTorinstanz, fürdie der HLSN bestimmt werden soll, wird für die ausgewählte Anschlußinstanzbestimmt. Ein aktuelles Netz wird an der ausgewählten Torinstanz bestimmt.Das Tor, das mit dem aktuellen Netz verbunden ist, wird bestimmt.Die zuletzt gespeicherten Indizes werden aus der Instanzhistorienlisteentfernt. Die Torinstanz an der Instanz, die durch die zuletzt gespeichertenIndizes identifiziert ist, was eine Instanzierung des Tors ist,das mit dem aktuellen Netz verbunden ist, wird als eine nächste Torinstanzbestimmt. Das Netz, das mit der nächsten Torinstanz verbundenist, wird als das aktuelle Netz bestimmt. Die vorangehenden vierSchritte werden wiederholt, bis ein Rückverfolgungs-Endpunkt (retraceendpoint) angetroffen wird, um das aktuelle Netz als den HLSN für die ausgewählte Torinstanzeinzurichten. [0011] Beieinem anderen Ausführungsbeispielbestimmt ein Verfahren einen Signalnamen höchster Ebene (HLSN) für ein ausgewähltes Netzin einem hierarchischen Schaltungsentwurf. Eine erste Torinstanzan einem ersten Netz wird ausgewählt.Eine Verfolgungs-Operation bestimmt die Eigeninstanz für die ersteTorinstanz; speichert Hinweise der Eigeninstanz als eine gespeicherteInstanz in einer Instanzhistorienliste; bestimmt das nächste Netz,das mit dem Tor an dem Beschreibungsblock der Eigeninstanz verbundenist; verwendet das nächsteNetz als das anfänglicheNetz füreine nächsteIteration der Verfolgungsoperation; und wählt eine neue erste Torinstanzan dem anfänglichenNetz aus. Die Verfolgungsoperation wird wiederholt, wenn die Eigeninstanzkein vorbestimmter Verfolgungs-Endpunkt ist. Eine ausgewählte Torinstanzwird bestimmt, fürdie der HLSN bestimmt werden soll. Ein aktuelles Netz wird an derausgewähltenTorinstanz bestimmt. Eine Rückverfolgungsoperationbestimmt dann das Tor, das mit dem aktuellen Netz verbunden ist;entfernt aus der Instanzhistorienliste die zuletzt gespeichertenHinweise; bestimmt als eine nächsteTorinstanz die Torinstanz an der Instanz, die durch den zuletztgespeicherten Hinweis identifiziert wird, der eine Instanzierungdes Tors ist, das mit dem aktuellen Netz verbunden ist; und bestimmtdas Netz als das aktuelle Netz, das mit der nächsten Torinstanz verbundenist. Die Rückverfolgungsoperationwird wiederholt, bis ein Rückverfolgungs-Endpunktangetroffen wird. [0012] Beieinem anderen Ausführungsbeispielbestimmt das System einen Signalnamen höchster Ebene (HLSN) für ein ausgewähltes Netzin einem hierarchischen Schaltungsentwurf. Ein Prozessor ist miteiner Speicherungseinheit gekoppelt, die den hierarchischen Schaltungsentwurfenthält,und mit einem Computerspeicher. Eine Instanzhistorienliste ist indem Computerspeicher gespeichert. Ein Weg-Verfolgungs-Modul, dasin dem Computerspeicher gespeichert ist, wird durch den Prozessorausgeführt,um den hierarchischen Schaltungsentwurf zu analysieren, um den HLSNfür dasausgewählteNetz zu bestimmen. Durch das Weg-Verfolgungs-Modul wird ein Signalwegin eine hierarchisch niedrigere Ebene des Schaltungsentwurfs verfolgt,von einem vorbestimmten Netz in dem Entwurf zu einer vorbestimmtenAnschlußinstanz,während Hinweisezu der Instanzhistorienliste von jeder nachfolgenden Instanz hinzugefügt werden,die währenddes Verfolgens angetroffen wird; eine Torinstanz, die dem ausgewählten Netzzugeordnet ist, fürdas der HLSN bestimmt werden soll, wird bestimmt; das ausgewählte Netzwird als das aktuelle Netz bezeichnet; für alle gespeicherten Hinweisein der Instanzhistorienliste wird das Netz bestimmt, das mit demaktuellen Netz in einem hierarchischen Elternteil der Instanz verbundenist, identifiziert durch den Hinweis, um ein nächstes aktuelles Netz einzurichten;wenn eine Bedingung besteht, bei der keine Verbindung von dem aktuellenNetz zu einer Instanz auf hierarchisch höherer Ebene vorliegt, wirddas aktuelle Netz als der Signalname höchster Ebene für das ausgewählte Netzeingerichtet. [0013] Beieinem anderen Ausführungsbeispielbestimmt ein System einen Signalnamen höchster Ebene in einem hierarchischenSchaltungsentwurf, der folgende Merkmale aufweist: Eine Einrichtungzum Verfolgen eines Signalwegs von einem Netz in einer Instanz indem Schaltungsentwurf zu einer Anschlußinstanz auf einer hierarchischniedrigeren Ebene des Entwurfs; eine Einrichtung zum Speichern,in einer Instanzhistorienliste, von Hinweisen jeder Instanz, diedurch die Einrichtung zum Verfolgen angetroffen wird, wobei Operationendes Verfolgens und Speicherns wiederholt werden, bis ein vorbestimmterVerfolgungsendpunkt angetroffen wird; eine Einrichtung zum Einrichteneiner aktuellen Torinstanz, innerhalb der Anschlußinstanz,für dieder HLSN bestimmt werden soll, und zum Bezeichnen des ausgewählten Netzesals das aktuelle Netz; und eine Einrichtung zum Durchführen einerRückverfolgungsoperation,die folgende Merkmale aufweist: Eine Einrichtung zum Bestimmen desNetzes, das mit dem aktuellen Netz in einem hierarchischen Elternteilder Instanz verbunden ist, die durch den Hinweis identifiziert wird,um ein nächstesaktuelles Netz einzurichten; und eine Einrichtung zum Einrichtendes aktuellen Netzes als den Signalnamen höchster Ebene für das ausgewählte Netz.Die Einrichtung zum Durchführeneiner Rückverfolgungsoperationwird füralle gespeicherten Hinweise in der Instanzhistorienliste ausgeführt, bisein Rückverfolgungsendpunktangetroffen wird. [0014] Beieinem anderen Ausführungsbeispielumfaßtein Softwareprodukt Anweisungen, die auf einem computerlesbarenMedium gespeichert sind, wobei die Anweisungen, wenn sie durch einenComputer ausgeführtwerden, die Schritte zum Bestimmen eines Signalnamens höchster Ebenein einem hierarchischen Schaltungsentwurf durchführen, die folgende umfassen:Anweisungen zum Verfolgen eines Signalwegs in eine hierarchischniedrigere Ebene des Schaltungsentwurfs von einem vorbestimmtenNetz in dem Schaltungsentwurf zu einer vorbestimmten Anschlußinstanz,währendHinweise zu einer Instanzhistorienliste hinzugefügt werden, von jeder nachfolgendenInstanz, die währenddes Verfolgens angetroffen wird; Anweisungen zum Bestimmen einerTorinstanz, die einem ausgewähltenNetz zugeordnet ist, fürdas der Signalname höchsterEbene bestimmt werden soll; Anweisungen zum Bestimmen einer Torinstanz,die dem ausgewähltenNetz zugeordnet ist, fürdas der Signalname höchsterEbene bestimmt werden soll; Anweisungen zum Bezeichnen des ausgewählten Netzesals das aktuelle Netz; und füralle gespeicherten Hinweise in der Instanzhistorienliste: Anweisungenzum Bestimmen eines aktuellen Netzes bei der aktuellen Torinstanz;und Anweisungen zum Bestimmen einer nächsten aktuellen Torinstanzbei der letzten Instanz, die eine Instanzierung des Tors ist, dasmit dem aktuellen Netz verbunden ist; und wenn eine Bedingung existiert,bei der keine Verbindung von dem aktuellen Netz zu einer Instanzauf hierarchisch höhererEbene vorliegt, dann Anweisungen zum Einrichten des aktuellen Netzesals den Signalnamen höchsterEbene fürdas ausgewählteNetz. [0015] BevorzugteAusführungsbeispieleder vorliegenden Erfindung werden nachfolgend Bezug nehmend aufdie beiliegenden Zeichnungen nähererläutert.Es zeigen: [0016] 1 ein CAD-System zum Bestimmeneines Signalnamens höchsterEbene in einem hierarchischen VLSI-Entwurf; [0017] 2 ein Flußdiagramm,das einen Satz von exemplarischen Schritten darstellt, die während einer Operationdes Systems aus 1 ausgeführt werden; [0018] 3 einen exemplarischen Entwurf,der durch das Verfahren analysiert werden soll, das in 2 gezeigt ist; und [0019] 4 einen weiteren exemplarischenEntwurf, der durch das Verfahren analysiert werden soll, das in 2 gezeigt ist; und [0020] 5 ein Flußdiagramm,das einen Prozeß zumBestimmen eines Signalnamens höchsterEbene für einausgewähltesNetz in einem hierarchischen Schaltungsentwurf darstellt. [0021] 1 zeigt ein exemplarischesAusführungsbeispieleines computergestütztenEntwurfssystems („CAD"-Systems) 100,das zum Durchqueren hierarchisch verknüpfter Entwurfselemente einesSchaltungsentwurfs 109 konfiguriert ist, um einen SignalnamenhöchsterEbene („HLSN" = Highest LevelSignal Name) relativ zu einem bestimmten Netz in einem Schaltungsentwurf 109 zubestimmen. Das CAD-System 100 umfaßt ein Computersystem 101 undein CAD-Tool 107. Das CAD-Tool 107 ist z. B. einelektronisches CAD-Tool („E-CAD"-Tool), das zum Analysierenvon VLSI-Schaltungsentwürfengeeignet ist. Wie in 1 gezeigtist, steuert das Computersystem 101 das CAD-Tool 107,um den Schaltungsentwurf 109 zu analysieren. Der Schaltungsentwurf 109 istz. B. ein hierarchischer VLSI-Schaltungsentwurf. Das Computersystem 101 umfaßt einenProzessor 102, einen Computerspeicher 104 undeine Speicherungseinheit 106; der Prozessor 102 ist mitdem Computerspeicher 104 und mit der Speicherungseinheit 106 gekoppelt.Bei einem Ausführungsbeispielliegt das CAD-Tool 107 anfänglich in der Speicherungseinheit 106 alsSoftwareanweisungen vor. Nach der Initialisierung wird das CAD-Tool 107 inden Computerspeicher 104 geladen. Zumindest ein Teil desEntwurfs 109, der eine Netzliste 110 des Schaltungsentwurfs 109 umfaßt, kannferner in den Computerspeicher 104 nach der Initialisierungdes CAD-Tools 107 geladen werden. Der Prozessor 102 führt dannein Signalweg-Verfolgungs-Nebentoolinnerhalb des CAD-Tools 107 aus, um einen oder mehrereHLSNs in einem Abschnitt des Entwurfs 109 zu bestimmen,wie nachfolgend beschrieben wird. [0022] Beieinem exemplarischen Ausführungsbeispielist das Wegverfolgungsmodul 105 (das ein Neben-Tool desCAD-Tools 107 sein kann) konfiguriert zum Speichern vonHinweisen von Blockinstanzen in den Schaltungsentwurf 109,die angetroffen werden, wenn eine bestimmte hierarchische Verbindungzu niedrigeren Ebenen der Hierarchie verfolgt wird. Genauer gesagt,wenn ein Signal von Netz zu Netz durch zugeordnete Tore und Torinstanzenverfolgt wird (wird nachfolgend erklärt), wird ein Zeiger zu einemObjekt, das die Instanz von Interesse darstellt, zu einer Instanzhistorienliste 108 hinzugefügt. DieInstanzhistorienliste 108 arbeitet als eine Speicherungsvorrichtung(Stapel) vom Typ Last-In-First-Out(zuletzt hinein zuerst heraus) und enthält Zeiger zu Instanzen vonBlöcken(hierin einfach „Instanzen"), die hinein verfolgtwurden, währendsie der hierarchischen Verbindung folgen. Die Instanzhistorienliste 108 wirddann verwendet, um die hierarchische Verbindung zu höheren Ebenender Hierarchie zurückzuverfolgen.Der HLSN eines Netzes, das währendder Verfolgung erreicht wird, kann gefunden werden, durch entfernendes Zeigers der letzten Instanz aus der Instanzhistorienliste 108,Bestimmen einer zugeordneten Torinstanz und Wiederholen des Prozessesfür einNetz, das mit dieser Torinstanz verbunden ist, bis ein Endpunktangetroffen wird. [0023] 2 ist ein Flußdiagramm,das einen Satz von exemplarischen Schritten darstellt, die während der Operationdes Systems 100 aus 1 durchgeführt werden. 3 zeigt einen exemplarischenSchaltungsentwurf 300, der durch das Verfahren analysiertwerden kann, das in 2 gezeigtist. Die Operation des Systems 100 ist am besten verständlich durchBetrachten der 2 und 3 in Verbindung miteinander. [0024] DerSchaltungsentwurf 109 kann als eine Sammlung von Komponentenaggregatenbetrachtet werden, die weiter in Teilaggregate auf rekursive undhierarchische Weise unterteilt sind. Bei einem VLSI-Schaltungsentwurfwerden diese Aggregate üblicherweiseals Blöckeoder Zellen bezeichnet. Die Verwendung eines Blockes auf einer gegebenenhierarchischen Ebene wird als „Instanz" bezeichnet. JederBlock weist eines oder mehrere „Tore" auf, wobei jedes derselben einen Verbindungspunktzwischen einem Netz innerhalb des Blocks und einem Netz außerhalbdes Blocks liefert. Die Ausdrücke „Block", „Instanz", „Tor" und „Torinstanz" werden nachfolgenderklärt,unter Verwendung eines Schaltungsentwurfs 300 in 3 als Referenz. Wie in 3 gezeigt ist, umfaßt die Schaltung 300 Blockinstanzeni0, i1, i2 und i3. Die Instanzen i0 und i1 sind hierarchisch durchNetze „a" und GND (Masse)verbunden. Die Instanzen i1 und i2 sind hierarchisch durch Netze „pass", „up_vdd" und „dn_gnd" verbunden. Instanzi1, wenn sie aus der Perspektive einer oberen Ebene in der Teilhierarchiebetrachtet wird, dargestellt durch test_block_i1 und test_block_i2,wird selbst als ein Block betrachtet, d. h., test block_i1, in diesembestimmten hierarchischen Kontext. In demselben Kontext enthält der Block test_block_i1die Instanz i2, die, wenn sie aus einer Perspektive innerhalb des „Kastens" betrachtet wird (i2/test_block_i2),der in 3 gezeigt ist,als der Block test_block_i2 bezeichnet werden würde. [0025] Esist somit ersichtlich, daß dieDefinitionen von „Block" und Block-„Instanz" davon abhängen, obeine bestimmte „Box" bzw. ein „Kasten" (ein Block odereine Instanz des Blocks) von einem internen oder externen Standpunktbetrachtet werden, d. h., die entsprechende Nomenklatur hängt vonder hierarchischen Perspektive ab, aus der der „Kasten" betrachtet wird. Jeder „Kasten" (Block oder Instanz)weist eine Mehrzahl von „Toren" (ports) und entsprechendenTorinstanzen („portinsts") auf, wobei jedesPaar derselben einen Verbindungspunkt zwischen einem Netz innerhalbdes Blocks und einem Netz außerhalbdes Blocks liefert. Ein „port/portinst" weist somit zweiangrenzende Teile auf, einen ersten Teil, der eine „portinst" genannt wird, was eineTorinstanz ist, die außerhalbeiner Kasten- (oder Instanz-) Grenze angeordnet ist; und einen zweitenTeil, genannt ein „port", das innerhalb derKasten- (oder Block-) Grenze angeordnet ist. [0026] Wieaus 3 ersichtlich ist,sind die portinsts bzw. Torinstanzen die Hälfte von „port/portinst" an der Außenseiteeines „Kastens" bzw. einer „Box" (z. B. Artikel 312),und Tore sind die Hälfteder „port/portinst" an der Innenseiteeiner „Box" (z. B. Artikel 313).Ein Tor nimmt denselben Namen an wie das Netz, mit dem er verbundenist, und Torinstanzen weisen denselben Namen auf wie ihr beschreibendesTor (d. h., den selben Namen wie das Netz in dem beschreibendenBlock). Wenn eine Netzliste untersucht wird, wie z. B. die Netzliste 110,kann portinst 312 bei dem Entwurf 300 in der Netzlisteals „netpass -> port instin" bei dem Block test_block_i1beschrieben werden. Dieser Netzlisteneintrag zeigt an, daß das Netz „pass" mit der portinstbzw. Torinstanz „in" 312 beiInstanz „i2" verbunden ist. Dasentsprechende Tor bei test_block_i2 ist Tor 313, das den Namen „in" aufweist, da esmit dem Netz „in" bei test_block_i2verbunden ist. Bei einem exemplarischen Ausführungsbeispiel wird ein hierarchischesModell, das als Teil des Schaltungsentwurfs 109 gespeichertist, verwendet, um die Hierarchie des Entwurfs 300 darzustellen,und die Differenz zwischen einer portinst und einem port wird ohneweiteres durch die Verwendung von objektorientierten Techniken bestimmt,bei denen port und portinst unterschiedliche Objekte sind und unterschiedlicheTypen von Objekten dieselben besitzen. [0027] Wiein 2 gezeigt ist, verfolgtanfänglichbei Schritt 205 das Wegverfolgungsmodul 105 eineVerbindung (einen Signalweg) in eine hierarchisch niedrigere Ebenedes Schaltungsentwurfs 109 von einem vorbestimmten Startpunkt,der ein gewünschtesNetz in dem Entwurf sein kann. Bei Schritt 210, wenn dasWegverfolgungsmodul 105 jede neue Instanz antrifft, wirdein Zeiger zu der Instanz (ein „Instanzzeiger") zu der Instanzhistorienliste 108 hinzugefügt. Genauergesagt könnendie Schritt 205 und 210 wie folgt beschriebenwerden. Die Verfolgung startet bei einem vorbestimmten HLSN odereinem anderen anfänglichenNetz. Die Eigeninstanz fürdie Torinstanz bei diesem Netz wird dann bestimmt. Wenn die Eigeninstanzkein vorbestimmter Verfolgungsendpunkt ist, wird die Eigeninstanzauf die Instanzhistorienliste 108 gedrückt. Das Netz, das mit dem Toran dem Beschreibungsblock der Instanz verbunden ist (d. h. das Netz,das mit dem Tor innerhalb der Instanz verbunden ist), wird dannbestimmt und als das anfänglicheNetz fürdie Netziteration des Wegverfolgungsprozesses verwendet. [0028] BeiSchritt 215, wenn das Wegverfolgungsmodul 105 aufeinen anfänglichenEndpunkt der Verfolgung trifft (d. h. einen vorbestimmten Endpunkteines bestimmten Netzes), dann fährtdie Verarbeitung bei Schritt 217 fort; anderweitig werdendie Schritte 205 und 210 für die Netze wiederholt, diemit einer oder mehreren aufeinanderfolgenden hierarchisch niedrigerenEbenen des Schaltungsentwurfs 109 verbunden sind, bis ein vorbestimmterVerfolgungsendpunkt erreicht wird. Der Verfolgungsendpunkt ist eineausgewählteAbschlußinstanzoder „Anschlußinstanz", die ein Netz odermehrere Netze verbinden kann, fürdie der HLSN bestimmt werden soll. Dieses Netz kann mit einem Anschluß einerVorrichtung verbunden sein, wie z. B. eines Transistors, für den derHLSN von einem der anderen Anschlüsse dieser Vorrichtung erwünscht ist. [0029] Sobalddas Wegverfolgungsmodul 105 einen Signalweg zu dem ausgewählten Verfolgungsendpunkt verfolgthat, kann der HLSN eines beliebigen Netzes innerhalb des Blocks,der analysiert wird, dann bestimmt werden, durch Durchführen desnachfolgenden Rückwärts-Verfolgungs-Verfahrens(Retrace-Verfahrens; Retrace = Reverse-Trace). Zuerst wird eineTorinstanz (einem ausgewähltenNetz zugeordnet) ausgewählt,für dieder HLSN bestimmt werden soll, bei Schritt 217. Als nächstes wirdder Zeiger der letzten Instanz, der in der Instanzhistorienliste 108 gespeichertist, aus der Instanzhistorienliste 108 bei Schritt 220 „entnommen" (entfernt), durchdas Wegverfolgungsmodul 105, um das Netz zu bestimmen,das mit dem aktuellen Netz bei dem hierarchischen Elternteil derletzten (zuletzt) angetroffenen Instanz verbunden ist. Genauer gesagtkann Schritt 220 wie folgt beschrieben werden. Bestimmedas aktuelle Netz an der ausgewähltenTorinstanz. Dann Bestimmte das Tor, das mit dem aktuellen Netz verbundenist. Als nächstes,Entnehme die letzte Instanz aus der Instanzhistorienliste 108.Als nächstes,Bestimme die zugeordnete Torinstanz bei dieser letzten Instanz,die eine Instanzierung (d. h. angrenzend an das) des Tors ist, dasmit dem aktuellen Netz verbunden ist. Schließlich, Bestimme das Netz, dasmit der Torinstanz verbunden ist. Der Prozeß des Bestimmens der zugeordneten Torinstanzund des Wiederholens des Prozesses für das Netz, das mit dieserTorinstanz verbunden ist, wird fortgesetzt, bis ein Rückverfolgungsendpunktangetroffen wird, wie im Hinblick auf Schritt 225 erklärt wird. [0030] BeiSchritt 225 wird eine Prüfung durchgeführt, umzu bestimmen, ob ein Rückverfolgungsendpunkt angetroffenwurde. [0031] EinEndpunkt des Rückverfolgungsprozesseswird angetroffen, wenn eine der nachfolgenden Bedingungen auftritt: – dieInstanzhistorienliste 108 ist leer: der obere Block inder Hierarchie wurde erreicht, so daß das aktuelle Netz der Verfolgungsendpunktist; – dasaktuelle Netz ist nicht mit einem Tor außerhalb eines Blocks versehen,d. h. es liegt kein Signalweg höherin der Hierarchie vor, so daß dasaktuelle Netz der Endpunkt ist; – esbesteht kein Netz, das mit der Torinstanz verbunden ist, das ander Instanz angeordnet ist, in der das aktuelle Netz existiert.In dieser Situation liegt ein Konnektivitätsfehler vor. Das vorliegendeSystem kann trotzdem das aktuelle Netz als das HLSN-Netz zurücksenden,da dies das Netz höchsterEbene ist, das in der Hierarchie bestimmt werden kann. [0032] DasWegverfolgungsmodul 105 fährt dann mit der Rückverfolgungfort, und führtdie Schritte 220 und 225 aus, bis ein Rückverfolgungsendpunktangetroffen wurde. An diesem Punkt hat die Verfolgung die Instanz inder Hierarchie erreicht, die den HLSN des Netzes enthält, ausgewählt beiSchritt 217. Der HLSN fürdas ausgewählteNetz (oder das Netz-„Objekt", unter Verwendungeiner objektorientierten Technik) wird dann auf der Instanzhistorienliste 108 beiSchritt 230 bestimmt, durch Verkettung mit dem aktuellenNetznamen, den Namen jeder Instanz (auf die gezeigt wird) in derInstanzhistorienliste 108, um den HLSN für das ausgewählte Netzzu bestimmen. [0033] Bevorein spezifisches Beispiel präsentiertwird, das die Operation des vorliegenden Systems zeigt, wird einexemplarischer Pseudocode nachfolgend ausgeführt, um zu zeigen, wie derVerfolgungs- und Rückverfolgungs-Prozeß codiertwerden kann, um die Ausführungdurch einen Prozessor zu ermöglichen,wie z. B. den Prozessor 201. Anfänglich wird eine rekursiveFunktion („recurse") verwendet, um eineInstanzhistorienliste 108 für den ausgewählten HLSNzu erzeugen: [0034] Eswird darauf hingewiesen, daß der „is_primitive"-Ruf für eine Instanzentlang der Hierarchie „true" (wahr) sein kann;dieser Ruf ist eine Funktion, um zu bestimmen, wann eine Instanz,die zum Verarbeiten ausgewähltwurde, gefunden wird. Sobald eine ausgewählte Instanz lokalisiert wurde,kann eine Verarbeitungsfunktion, wie z. B. ProcessInstance(), dienachfolgend gezeigt ist, aufgerufen werden: [0035] Umbesser zu verstehen, wie die Funktion ReverseTraceHier-Net funktioniert,ist nachfolgend ein exemplarischer Pseudocode für diese Funktion umfaßt: [0036] Andiesem Punkt wurde das Tor (das "portobject" (Torobjekt),unter Verwendung einer objektorientierten Technik) an dem aktuellenNetz bestimmt. Als nächsteswird das Torinstanzobjekt bei der ersten Instanz in der Instanzhistorie,die diesem Tor entspricht, bestimmt: [0037] UnterVerwendung von 2 und 3 als eine Referenz, kanneine exemplarische Signalverfolgung ausgeführt werden, beginnend bei demHLSN "top_GND" in "top_block_1", und weiter beidem Transistor NFET1 in Instanz i2. Bei dem vorliegenden Beispielsei daher angenommen, daß Instanz "i2" als die Abschlußverfolgungsinstanz(der Verfolgungsendpunkt) ausgewähltist. Daher trifft die Verfolgung das Netz "GND" beiInstanz i0, das Netz "dn_gnd" bei Instanz i1 undendet bei dem Netz "gnd" bei Instanz i2. [0038] Eineexemplarische Instanzhistorienliste 108 wird erzeugt, durchdas Wegverfolgungsmodul 105, für die Verfolgung beginnendbei dem HLSN top GND, auf nachfolgende Weise: Erste Iterationder Verfolgungsoperation: FürTorinstanz 319 bei Netz top GND, erhalte die Eigeninstanzfür dieTorinstanz (= Instanz"i0"). Da die Instanz „i0" kein Verfolgungsendpunktist, drückedie Eigeninstanz auf die Instanzhistorienliste 108 (list =[i0]). Erhalte das Tor bei dem Beschreibungsblock (test blocki0) der Instanz (tor = 318). Erhalte das Netz, dasmit dem Tor (= GND) verbunden ist. [0039] ZweiteIteration: FürTorinstanz 317 bei dem Netz GND, erhalte die Eigeninstanzfür Torinstanz(= i1). Weil die Instanz „i1" kein Verfolgungsendpunktist, drückedie Eigeninstanz auf die Instanzhistorienliste 108 (Listejetzt = [i0, i1]). Erhalte das Tor an dem Beschreibungsblockder Instanz (Tor = 316) Erhalte das Netz, das mitdem Tor verbunden ist (Netz = dn_gnd). [0040] DritteIteration: Fürdie Torinstanz 315 bei Netz dn gnd, erhalte die Eigeninstanzfür dieTorinstanz (= i2). [0041] Dadie Instanz i2 ein ausgewählterVerfolgungsendpunkt ist, wird eine Rückverfolgungsfunktion („ProcessInstance(instance_list", owning_inst, portinst)bei dem vorliegenden exemplarischen Ausführungsbeispiel) aufgerufen,um die Instanzhistorienliste 108 (die momentan [i0, i1]ist) auf die richtige hierarchische Ebene „abzuwickeln". [0042] DieRückverfolgungsfunktionbestimmt den HLSN füreine ausgewählteTorinstanz oder ein ausgewähltesNetz, das einer bestimmten Torinstanz zugeordnet ist. Die Torinstanzen,die füreine Analyse bei dem vorliegenden Beispiel ausgewählt sind,sind Torinstanzen 312 und 320 (unter der Annahme,daß derWeg, der anfänglichin den aktuellen Block verfolgt wird, ignoriert wird). Der Signalwegwird „aufwärts" in der Hierarchie zurückverfolgt,wodurch er an den Endpunkten HLSNs „top_net_a" bzw. „i0/i1/up_vdd" ankommt, wie nachfolgenddetailliert erklärtwird. [0043] Beidem vorliegenden Beispiel beginnt der Rückverfolgungsprozeß bei Instanz „i2", um die HLSNs zu bestimmen,die mit der ausgewähltenInstanz verbunden sind. Die Instanzhistorienliste 108 soweit(unter der Annahme, daß dieanfänglicheDurchquerung mit einer leeren Liste bei „top GND" gestartet wird) ist [i0, i1]. Dann,beginnend bei jeder Torinstanz bei Instanz „i2" navigiert das Wegverfolgungsmodul 105 nachoben durch die Hierarchie, fürjede Torinstanz, auf die folgende Weise: Wähle Torinstanz 312 aus.Als nächstes,Erhalte das aktuelle Netz bei der ausgewählten Torinstanz 312 (=Netz „pass" bei test_block_i1).Dann Erstelle eine Kopie der Instanzhistorie, da die rekursive Funktion(„recurse") die Inhalte von „instance_hist" ändern wird. Copy_inst_hist= [i0, i1]. [0044] ErsteIteration der Rückverfolgungs-Operation: Erhaltedas Tor, das mit dem aktuellen Netz verbunden ist (= Tor 311 beiNetz „pass"). Entfernedie letzte Instanz von dem Objekt copy_instance_hist (= Instanz „i1"; copy_instance_histjetzt = [i0]. Erhalte die Torinstanz bei „i1", die eine Instanzierung von Tor 311 ist(= portinst 309). Erhalte das Netz, das mit portinst 309 verbundenist (= Netz „a" bei test_block_i0). DiesesNetz wird zu dem „aktuellenNetz" für die nächste Iteration.Recurse („a", copy_instance_hist). [0045] ZweiteIteration: Erhalte das Tor, das mit dem aktuellen Netz verbundenist (= Tor 308 bei Netz „a"). Entferne die letzte Instanzvon dem copy instance_– hist_object(= Instanz „i0", copy_instance_histjetzt = []). Erhalte die Torinstanz bei „i0", die eine Instanzierung von Tor 308 ist(= portinst 307). Erhalte das Netz, das mit portinst 307 verbundenist (= „top_net_a" bei top_block_1). Recurse(„top_net_a", copy_instance_hist). [0046] DritteIteration: Das aktuelle Netz („top_net_a") ist nicht mit einem Tor zu einer höheren hierarchischenEbene versehen, so daß dasaktuelle Netz „top_net_a" mit der leeren Listevon Instanzen in der Kopie der Instanzhistorienliste „copy_instance_hist" verkettet ist, um „top_net_a" als den HLSN desStartnetzes „i0/i1/pass" zu erzeugen. [0047] Alsnächsteswird der HLSN fürdas Netz „up_vdd" wie folgt bestimmt: Wähle Torinstanz 320. Erhaltedas Netz bei Torinstanz 320 (bringt „up_vdd" zurückbei test_block_i1). Erstelle eine Kopie der Instanzliste, dadie rekursive Funktion die Inhalte ändern wird. Copy_inst_hist= [i0, i1]. [0048] ErsteIteration: Erhalte das Tor, das mit diesem Netz verbunden ist(= 323). Entferne die letzte Instanz von dem Objektcopy_instance hist (bringt „i1" zurück, copy_instancehist jetzt = [i0]). Erhalte die Torinstanz bei „i1", die eine Instanzierungvon Tor 323 ist (ein Konnektivitätsfehler wird zurückgesendet,wie angezeigt durch die Abwesenheit einer Verbindung zu Torinstanzce2). Da dieses Netz nicht an dem Elternteil angeschlossenist (aufgrund des Konnektivitätsfehlers),ist das aktuelle Netz der HLSN, da dieses Netz das Netz höchster Ebeneist, das in der Hierarchie bestimmt werden kann. Drücke dieInstanz „i1" zurück auf dasObjekt copy_instance_hist, da die Rückverfolgung nicht an dieserInstanz vorbei fortgeschritten ist. Copy_instance_hist jetzt = [i0,i1]. Das aktuelle Netz „up_vdd" wird dann mit derListe von Instanzen in der Kopie der Instanzhistorienliste verkettet,um „i0/i1/upvdd" als den HLSNfür dasNetz „up_vdd" zu erzeugen. [0049] 4 zeigt einen anderen exemplarischenEntwurf, der durch das Verfahren analysiert werden soll, das in 2 gezeigt ist. Es sei angenommen,für dasvorliegende Beispiel, daß dieVerfolgungsoperation bei top_net_B in 4 beginnt,und daß diegewünschteAbschlußverfolgungsinstanz(der ausgewählteVerfolgungsendpunkt), die ein Netz oder ein anderes Element in einemSchaltungsentwurf sein kann, FET „F1" ist. Es wird darauf hingewiesen, daß identischeBlöckein den Instanzen i1 und i2 mit demselben Namen vorliegen, d. h. „NFET_1". Somit liegen zweiVerfolgungsendpunkte mit demselben Namen vor. Es ist daher ersichtlich, ausdem nachfolgenden Beispiel, warum die Verfolgungshistorie nützlich ist,um die Rückverfolgungsoperation auszuführen. [0050] ErsteIteration der Verfolgungsoperation: Für Torinstanz 408 beiNetz top_net_B, erhalte die Eigeninstanz für die Torinstanz (= Instanz „i0"). Da die Instanz „i0" kein Verfolgungsendpunktist, drückedie Eigeninstanz auf die Instanzhistorienliste (Liste = [i0]). Erhaltedas Tor an dem Beschreibungsblock (Sub_block") der Instanz (Tor = 407). Erhaltedas Netz, das mit dem Tor verbunden ist (= „out"). [0051] ZweiteIteration: Da zwei portinsts mit dem Netz „out" verbunden sind (406 und 414),muß fernereine „sub_iteration" (Teiliteration)für diezweite portinst 414 bei dem aktuellen Netz durchgeführt werden,unter der Annahme, daß alleVerbindungen bei dem Schaltungsentwurf aus 4 verfolgt werden müssen. Aufgrund der Einfachheitjedoch stellt das vorliegende Beispiel die Verfolgung nur durchportinst 406 dar. In jedem Fall trifft die Verfolgung auf FET „F1". Für Torinstanz 406 beiNetz „out", erhalte die Eigeninstanzfür dieTorinstanz (= i1) Da die Instanz „i1" kein Verfolgungsendpunkt ist, drücke dieEigeninstanz auf die Instanzhistorienliste (Liste jetzt = [i0, i1]) Erhaltedas Tor an dem Beschreibungsblock der Instanz (Tor = 405) Erhaltedas Netz, das mit dem Tor verbunden ist (Netz = „A4") Für Torinstanz 416 beiNetz „A4", erhalte die Eigeninstanzfür dieTorinstanz (= NFET_1). Erhalte das Tor an dem Beschreibungsblockder Instanz (Tor = 415). Erhalte das Netz, das mitdem Tor verbunden ist. [0052] Andiesem Punkt wird FET „F1" angetroffen. DaFET „F1" der ausgewählte Verfolgungsendpunktist, wird die Rückverfolgungsfunktion(„ProcessInstance(instance_list",owning_inst, portinst) aufgerufen, um die Instanzhistorienliste 108 aufdie richtige Ebene der Hierarchie „abzuwickeln", um den HLSN für das ausgewählte Netzzu bestimmen. Bei dem vorliegenden Beispiel sei angenommen, daß der Rückverfolgungsprozeß bei „i0/i1/net_A" gestartet wird,um den HLSN zu bestimmen, der mit diesem ausgewählten Netz verbunden ist. Dasaktuelle Netz ist somit „i0/i1/net_A", aber es wird daraufhingewiesen, daß zweiInstanzierungen des aktuellen Blocks (NFET_1) vorliegen, daher muß zuerstdie spezifische Torinstanz zur Verwendung für die Rückverfolgung bestimmt werden.Die geeignete Torinstanz, die mit „i0/i1/net_A" verbunden ist, kannnicht bestimmt werden, außerdie bestimmte Instanzierung des Tors an dem Netz ist bekannt, umin der Lage zu sein, das Netz auf der nächsten Ebene der Hierarchiezu finden. Daher muß diespezifische Instanzierung von „net_A" bestimmt werden,um ein Verfolgen aus der korrekten Instanzierung heraus zu ermöglichen.Bei dem vorliegenden Fall, da das Netz „A" als der Rückverfolgungsstartpunkt ausgewählt ist,muß dieentsprechende Torinstanz (d. h. die Torinstanz, die eine Instanzierungdes Tors ist, das mit dem aktuellen Netz „A" verbunden ist), bestimmt werden. Dieerste Iteration der Rückverfolgungsoperation(unten) zeigt, daß eineBezugnahme auf die Instanzhistorie ermöglicht, daß die Rückverfolgung mit net_A1 anstellevon net_A2 beginnt. [0053] DieInstanzhistorienliste 108 ist soweit [i0, i1]; daher, dieKopie der Instanzhistorie (copy_inst_hist) = [i0, i1]. [0054] ErsteIteration der Rückverfolgungsoperation: Zuerst,Erhalte das Tor, das mit dem ausgewählten Netz verbunden ist, „net_A" (= Tor 404).Es wird darauf hingewiesen, daß dasentsprechende Tor bei Instanz „i2" (sowie alle anderenTor- und Torinstanz-Namen bei i2) denselben Namen aufweisen wiedas entsprechende Tor bei Instanz „i1", da diese Instanzen zwei Instanzierungendesselben Blocks sind, NFET1. Entnehme die letzte Instanz ausdem Objekt copy_instance_hist (= Instanz „i0"; copy_instance_hist jetzt = [i1]. Erhaltedie Torinstanz bei „i1", die eine Instanzierungvon Tor 404 ist (= portinst 403). Erhaltedas Netz, das mit portinst 403 verbunden ist (= Netz „net_A1" bei „Sub_Block"). Dieses Netzwird zu dem „aktuellenNetz" für die nächste Iteration. Recurse(„net_A1", copy_instance_hist) [0055] ZweiteIteration: Erhalte das Tor, das mit dem ausgewählten Netzverbunden ist, „net_A1" (= Tor 402). Entnehmedie letzte Instanz aus dem Objekt copy_instance hist (= Instanz „i0"; copy_instance_histjetzt = []). Erhalte die Torinstanz bei „i1", die eine Instanzierung von Tor 402 ist(= portinst 401). Erhalte das Netz, das mit portinst 401 verbundenist (= Netz „top_net_A1" bei „Top_Block"). Dieses Netzwird zu dem „aktuellenNetz" für die nächste Iteration. Recurse(„top_net_A1", copy_instance_hist) [0056] DritteIteration: Das aktuelle Netz („top_net_A1") ist nicht mit einemTor zu einer höherenhierarchischen Ebene versehen, so daß das aktuelle Netz „top_net_A1" mit der leeren Listevon Instanzen in der Kopie der Instanzhistorienliste verkettet ist,um „top_net_A1" als den HLSN desStartnetzes „i0/i1/net_A" zu erzeugen. [0057] 5 ist ein Flußdiagramm,das einen Prozeß 500 zumBestimmen eines Signalnamens höchster Ebenebei einem hierarchischen Schaltungsentwurf darstellt. Bei Schritt 502 wirdein Signalweg in eine hierarchisch niedrigere Ebene des Schaltungsentwurfsvon einem vorbestimmten Netz in dem Schaltungsentwurf zu einer vorbestimmtenAnschlußinstanzverfolgt. Hinweise werden zu einer Instanzhistorienliste für jede nachfolgendeInstanz hinzugefügt,die bei Schritt 502 angetroffen wird. Bei Schritt 504 wirdeine Torinstanz bei der Anschlußinstanzbestimmt, die einem ausgewähltenNetz zugeordnet ist, fürdas der Signalname höchster Ebenebestimmt werden soll. Bei Schritt 506 wird das ausgewählte Netzals das aktuelle Netz bezeichnet. Bei Schritt 508 wirddas Netz, das mit dem aktuellen Netz bei einem hierarchischen Elternteilder Instanz verbunden ist, die durch den Hinweis identifiziert wird,bestimmt, um ein nächstesaktuelles Netz einzurichten. Bei Schritt 510, wenn eineBedingung existiert, bei der keine Verbindung von dem aktuellenNetz zu einer Instanz auf hierarchisch höherer Ebene vorliegt, wirddas aktuelle Netz als der Signalname höchster Ebene für das ausgewählte Netzeingerichtet. [0058] Anweisungen,die die Operationen aus 2 und/oder 5 ausführen, können auf einem computerlesbarenSpeicherungsmedium gespeichert sein. Diese Anweisungen können wiedergewonnenund durch einen Prozessor ausgeführtwerden, wie z. B. Prozessor 102 aus 1, um den Prozessor anzuweisen, gemäß dem vorliegendenSystem zu arbeiten. Diese Anweisungen können auch in Firmware gespeichertsein. Beispiele eines Speicherungsmediums umfassen Speichervorrichtungen,Bänder,Platten, integrierte Schaltungen und Server. [0059] Bestimmte Änderungenkönnenan den oben genannten Verfahren und Systemen durchgeführt werden,ohne von dem Schutzbereich der vorliegenden Erfindung abzuweichen.Es wird darauf hingewiesen, daß alleGegenstände,die in der obigen Beschreibung enthalten oder in den beiliegendenZeichnungen gezeigt sind, in einem darstellenden und nicht einschränkendenSinn interpretiert werden sollen. Zum Beispiel können die Artikel, die in 1 gezeigt sind, in anderenKonfigurationen aufgebaut, verbunden, angeordnet und/oder kombiniertwerden, und der Satz aus Schritten, der in 2 und/oder 5 dargestelltist, kann in einer unterschiedlichen Reihenfolge ausgeführt werden,ohne von dem Schutzbereich der vorliegenden Erfindung abzuweichen.
权利要求:
Claims (15) [1] Verfahren (205–230, 500)zum Bestimmen eines Signalnamens höchster Ebene in einem hierarchischenSchaltungsentwurf (109, 300), das folgende Schritteaufweist: Verfolgen (205, 502) eines Signalwegsin eine hierarchisch niedrigere Ebene des Schaltungsentwurfs (109, 300)von einem vorbestimmten Netz in dem Schaltungsentwurf zu einer vorbestimmtenAnschlußinstanz,währendHinweise zu einer Instanzhistorienliste (108) hinzugefügt werden(210), von jeder nachfolgenden Instanz, die bei dem Verfolgungsschrittangetroffen wird; Bestimmen (504) einer Torinstanz(307, 309, 312, 315, 317, 319, 320,ce2, ce3, 401, 403, 406, 408, 409, 412, 414, 416, 418)bei der Abschlußinstanz,die einem ausgewähltenNetz zugeordnet ist, fürdas der Signalname höchsterEbene bestimmt werden soll; Bezeichnen des ausgewählten Netzesals das aktuelle Netz, und für alle gespeicherten Hinweisein der Instanzhistorienliste: Bestimmen (220, 508)des Netzes, das mit dem aktuellen Netz in einem hierarchischen Elternteilder Instanz, die durch die Hinweise identifiziert wird, verbundenist, um ein nächstesaktuelles Netz einzurichten; und wenn (510) eine Bedingungexistiert, bei der keine Verbindung von dem aktuellen Netz zu einerInstanz einer hierarchisch höherenEbene vorliegt, Einrichten des aktuellen Netzes als den SignalnamenhöchsterEbene fürdas ausgewählteNetz. [2] Verfahren gemäß Anspruch1, bei dem das aktuelle Netz als der HLSN für das ausgewählte Netzeingerichtet wird, wenn kein Netz vorliegt, das mit der Torinstanz(307, 309, 312, 315, 317, 319, 320,ce2, ce3, 401, 403, 406, 408, 409, 412, 414, 416, 418)verbunden ist, die bei der Instanz angeordnet ist, in der das aktuelleNetz existiert. [3] Verfahren (205–230) zum Bestimmen einesSignalnamens höchsterEbene (HLSN) fürein ausgewähltesNetz in einem hierarchischen Schaltungsentwurf (109, 300),das folgende Schritte aufweist: Verfolgen (205) einesSignalwegs von einem Netz in einer Instanz in dem Entwurf zu einerAnschlußinstanzin einer hierarchisch niedrigeren Ebene des Entwurfs; Speichern(210) von Hinweisen jeder Instanz, die während desVerfolgungsschrittes angetroffen wird, in einer Instanzhistorienliste(108); Wiederholen der Schritte des Verfolgens (205)und Speicherns (210), bis ein vorbestimmter Verfolgungsendpunktangetroffen wird; Bestimmen (217) einer ausgewählten Torinstanz,für dieder HLSN bestimmt werden soll, fürdie ausgewählte Anschlußinstanz; Bestimmeneines aktuellen Netzes bei der ausgewählten Torinstanz; Bestimmendes Tors, das mit dem aktuellen Netz verbunden ist; Entfernender zuletzt gespeicherten Hinweise aus der Instanzhistorienliste; Bestimmender Torinstanz bei der Instanz, die durch die zuletzt gespeichertenHinweise identifiziert wird, als eine nächste Torinstanz, die eineInstanzierung des Tors ist, das mit dem aktuellen Netz verbundenist; Bestimmen des Netzes, das mit der nächsten Torinstanz verbundenist, als das aktuelle Netz; und Wiederholen der vorangehendenvier Schritte, bis ein Rückverfolgungsendpunktangetroffen wird, um das aktuelle Netz als den HLSN für die ausgewählte Torinstanzeinzurichten. [4] Verfahren gemäß Anspruch3, bei dem der Rückverfolgungsendpunktangetroffen wird, wenn die Instanzhistorienliste (108)leer ist. [5] Verfahren gemäß Anspruch3 oder 4, bei dem der Rückverfolgungsendpunktangetroffen wird, wenn keine Verbindung von dem aktuellen Netz zueiner Instanz auf einer hierarchisch höheren Ebene vorliegt. [6] Verfahren gemäß einemder Ansprüche3 bis 5, bei dem der Rückverfolgungsendpunktangetroffen wird, wenn kein Netz mit der Torinstanz verbunden ist,die bei der Instanz angeordnet ist, in der das aktuelle Netz existiert. [7] Verfahren gemäß einemder Ansprüche3 bis 6, das ferner das Erzeugen (230) des HLSN für das ausgewählte Netzdurch Verketten der Namen jeder Instanz, die in der Instanzhistorienlisteangezeigt ist, mit dem Namen des aktuellen Netzes aufweist. [8] Verfahren (205, 500) zum Bestimmeneines Signalnamens höchsterEbene (HLSN) fürein ausgewähltesNetz in einem hierarchischen Schaltungsentwurf (109, 300),das folgende Schritte aufweist: Auswählen einer ersten Torinstanzbei einem anfänglichenNetz; Durchführeneiner Verfolgungsoperation, die folgende Schritte aufweist: Bestimmender Eigeninstanz fürdie erste Torinstanz; Speichern von Hinweisen der Eigeninstanzals eine gespeicherte Instanz in einer Instanzhistorienliste (108); Bestimmeneines nächstenNetzes, das mit dem Tor an dem Beschreibungsblock der Eigeninstanzverbunden ist; Verwenden des nächsten Netzes als das anfänglicheNetz füreine nächsteIteration der Verfolgungsoperation; und Auswählen einerneuen ersten Torinstanz bei dem anfänglichen Netz; Wiederholender Verfolgungsoperation, wenn die Eigeninstanz kein vorbestimmterVerfolgungsendpunkt ist; Bestimmen einer ausgewählten Torinstanz,für dieder HLSN bestimmt werden soll; Bestimmen eines aktuellen Netzesbei der ausgewähltenTorinstanz; und Durchführeneiner Rückverfolgungsoperation,die folgende Schritte aufweist: Bestimmen des Tors, das mitdem aktuellen Netz verbunden ist; Entfernen der zuletzt gespeichertenHinweise aus der Instanzhistorienliste (108); Bestimmender Torinstanz bei der Instanz, die durch die zuletzt gespeichertenHinweise identifiziert wird, als eine nächste Torinstanz, die eineInstanzierung des Tors ist, das mit dem aktuellen Netz verbundenist; Bestimmen des Netzes, das mit der nächsten Torinstanz verbundenist, als das aktuelle Netz; und Wiederholen der Rückverfolgungsoperation,bis ein Rückverfolgungspunktangetroffen wird, wobei: die Instanzhistorienliste (108)leer ist; keine Verbindung von dem aktuellen Netz zu einerInstanz auf hierarchisch höhererEbene vorliegt; oder kein Netz vorliegt, das mit der Torinstanzverbunden ist, die bei der Instanz angeordnet ist, in der das aktuelle Netzexistiert; und Einrichten des aktuellen Netzes als denHLSN fürdas ausgewählteNetz. [9] Verfahren gemäß Anspruch8, das ferner das Erzeugen des HLSN für das ausgewählte Netzaufweist, durch Ver ketten der Namen jeder Instanz, die in der Instanzhistorienlisteangezeigt ist, mit dem Namen des aktuellen Netzes. [10] System (100) zum Bestimmen eines SignalnamenshöchsterEbene (HLSN) fürein ausgewähltesNetz in einem hierarchischen Schaltungsentwurf (109, 300),das folgende Merkmale aufweist: einen Prozessor (102),der mit einer Speicherungseinheit (106), die den hierarchischenSchaltungsentwurf (109, 300) aufweist, und mitdem Computerspeicher (104), gekoppelt ist; eine Instanzhistorienliste(108), die in dem Computerspeicher (104) gespeichertist; ein Wegverfolgungsmodul (105), das in dem Computerspeicher(104) gespeichert ist, der durch den Prozessor (102)ausführbarist, um den hierarchischen Schaltungsentwurf (109, 300)zu analysieren, um den HLSN für dasausgewählteNetz zu bestimmen durch: Verfolgen eines Signalwegs in einehierarchisch niedrigere Ebene des Schaltungsentwurfs (109, 300)von einem vorbestimmten Netz in dem Entwurf zu einer vorbestimmtenAnschlußinstanz,währendHinweise von jeder nachfolgenden Instanz, die während des Verfolgens angetroffenwird, zu der Instanzhistorienliste (108) hinzugefügt werden; Bestimmeneiner Torinstanz (307, 309, 312, 315, 317, 319, 320,ce2, ce3, 401, 403, 406, 408, 409, 412, 414, 416, 418),die dem ausgewähltenNetz zugeordnet ist, fürdas der HLSN bestimmt werden soll; Bezeichnen des ausgewählten Netzesals das aktuelle Netz; und für alle gespeicherten Hinweisein der Instanzhistorienliste: Bestimmen des Netzes, das mitdem aktuellen Netz in einem hierarchischen Elternteil der Instanzverbunden ist, die durch die Hinweise identifiziert wird, um einnächstesaktuelles Netz einzurichten; und wenn eine Bedingung existiert,bei der keine Verbindung von dem aktuellen Netz zu einer Instanzauf hierarchisch höhererEbene vorliegt, Einrichten des aktuellen Netzes als den SignalnamenhöchsterEbene fürdas ausgewählteNetz. [11] System gemäß Anspruch10, bei dem das aktuelle Netz als der HLSN für das ausgewählte Netzeingerichtet ist, wenn kein Netz vorliegt, das mit der Torinstanzverbunden ist, die bei der Instanz angeordnet ist, in der das aktuelleNetz existiert. [12] System zum Bestimmen eines Signalnamens höchster Ebene(HLSN) fürein ausgewähltesNetz in einem hierarchischen Schaltungsentwurf (109, 300),das folgende Merkmale aufweist: eine Einrichtung zum Verfolgeneines Signalwegs von einem Netz in einer Instanz in dem Schaltungsentwurf zueiner Anschlußinstanzin einer hierarchisch niedrigeren Ebene des Entwurfs; eineEinrichtung zum Speichern von Hinweisen jeder Instanz, die durchdie Einrichtung zum Verfolgen angetroffen wird, in einer Instanzhistorienliste; wobeidie Operationen zum Verfolgen und Speichern wiederholt werden, bisein vorbestimmter Verfolgungsendpunkt angetroffen wird; eineEinrichtung zum Einrichten einer aktuellen Torinstanz, innerhalbder Anschlußinstanz,für dieder HLSN bestimmt werden soll, und zum Bezeichnen des ausgewählten Netzesals das aktuelle Netz; und eine Einrichtung zum Durchführen einerRückverfolgungsoperation,die folgende Schritte aufweist: Bestimmen des Netzes, das mitdem aktuellen Netz in einem hierarchischen Elternteil der Instanzverbunden ist, die durch die Hinweise identifiziert wird, um einnächstesaktuelles Netz einzurichten; und Einrichten des aktuellen Netzesals den HLSN fürdas ausgewählteNetz; wobei die Rückverfolgungsoperationfür allegespeicherten Hinweise in der Instanzhistorienliste durchgeführt wird,bis ein Rückverfolgungsendpunktangetroffen wird. [13] System gemäß Anspruch12, bei dem der Rückverfolgungsendpunktangetroffen wird, wenn die Instanzhistorienliste leer ist, oderwenn eine Bedingung existiert, bei der keine Verbindung von demaktuellen Netz zu einer Instanz auf hierarchisch höherer Ebenevorliegt. [14] Softwareprodukt, das Anweisungen aufweist, die aufeinem computerlesbaren Medium gespeichert sind, wobei die Anweisungen,wenn sie durch einen Computer ausgeführt werden, die Schritte ausführen zum Bestimmeneines Signalnamens höchsterEbene in einem hierarchi schen Schaltungsentwurf, das folgende Merkmaleaufweist: Anweisungen zum Verfolgen eines Signalwegs in einehierarchisch niedrigere Ebene eines Schaltungsentwurfs von einemvorbestimmten Netz in dem Schaltungsentwurf zu einer vorbestimmtenAnschlußinstanz, während Hinweisevon jeder nachfolgenden Instanz, die während des Verfolgens angetroffenwird, zu einer Instanzhistorienliste hinzugefügt werden; Anweisungenzum Bestimmen einer Torinstanz, die einem ausgewählten Netz zugeordnet ist,für dasder Signalname höchsterEbene bestimmt werden soll; Anweisen zum Bezeichnen des ausgewählten Netzesals das aktuelle Netz; und für alle gespeicherten Hinweisein der Instanzhistorienliste: Anweisungen zum Bestimmen einesaktuellen Netzes bei der aktuellen Torinstanz; und Anweisungenzum Bestimmen einer nächstenaktuellen Torinstanz bei der letzten Instanz, die eine Instanzierungdes Tors ist, das mit dem aktuellen Netz verbunden ist; und wenneine Bedingung existiert, bei der keine Verbindung von dem aktuellenNetz zu einer Instanz auf hierarchisch höherer Ebene vorliegt, dannAnweisungen zum Einrichten des aktuellen Netzes als den Signalnamen höchster Ebenefür dasausgewählteNetz. [15] Softwareprodukt gemäß Anspruch 14, bei dem dasaktuelle Netz als der HLSN fürdas ausgewählte Netzeingerichtet ist, wenn kein Netz vorliegt, das mit der Tor instanzverbunden ist, die bei der Instanz angeordnet ist, in der das aktuelleNetz existiert.
类似技术:
公开号 | 公开日 | 专利标题 US9852251B2|2017-12-26|Manipulating parameterized cell devices in a custom layout design US9361415B1|2016-06-07|Method, system, and computer program product for implementing a multi-fabric electronic design spanning across multiple design fabrics US6971076B2|2005-11-29|Method for estimating peak crosstalk noise based on separate crosstalk model US10078715B2|2018-09-18|Integrated circuit design using generation and instantiation of circuit stencils US7096447B1|2006-08-22|Method and apparatus for efficiently locating and automatically correcting certain violations in a complex existing circuit layout US6066179A|2000-05-23|Property estimation of an integrated circuit US6405348B1|2002-06-11|Deep sub-micron static timing analysis in the presence of crosstalk US10140396B1|2018-11-27|Partitioning electronic circuits for simulation on multiple processors US7143367B2|2006-11-28|Creating optimized physical implementations from high-level descriptions of electronic design using placement-based information US5541849A|1996-07-30|Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of timing parameters US5572436A|1996-11-05|Method and system for creating and validating low level description of electronic design US8572532B1|2013-10-29|Common path pessimism removal for hierarchical timing analysis US5553002A|1996-09-03|Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, using milestone matrix incorporated into user-interface US5557531A|1996-09-17|Method and system for creating and validating low level structural description of electronic design from higher level, behavior-oriented description, including estimating power dissipation of physical implementation US8407635B2|2013-03-26|System and method for automatic extraction of power intent from custom analog/custom digital/mixed signal schematic designs US5682320A|1997-10-28|Method for electronic memory management during estimation of average power consumption of an electronic circuit US6026228A|2000-02-15|Integrated circuit design method, database apparatus for designing integrated circuit and integrated circuit design support apparatus US6292931B1|2001-09-18|RTL analysis tool US6295636B1|2001-09-25|RTL analysis for improved logic synthesis US7805694B2|2010-09-28|Apparatus and method to facilitate hierarchical netlist checking US6381563B1|2002-04-30|System and method for simulating circuits using inline subcircuits US7937678B2|2011-05-03|System and method for integrated circuit planar netlist interpretation US6216252B1|2001-04-10|Method and system for creating, validating, and scaling structural description of electronic device US6289412B1|2001-09-11|Layout synopsizing process for efficient layout parasitic extraction and circuit simulation in post-layout verification TWI509443B|2015-11-21|用於實施具有模擬感知之電子電路設計之方法、系統及製造物
同族专利:
公开号 | 公开日 US20050050488A1|2005-03-03| US7073152B2|2006-07-04|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2005-04-07| OP8| Request for examination as to paragraph 44 patent law| 2006-03-09| 8130| Withdrawal|
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|